// src/types/Role.ts

// 通用参数响应参数
export interface Response {
  success: boolean
  code: string
  message: string
  data: object
}

// 分页查询用户列表
export interface GetRolePagedListAsyncParams {
  roleName: string
  status: number | ''
  pageIndex: number
  pageSize: number
}

// 分页查询用户列表响应
export interface GetRolePagedListAsyncResponse {
  code: string
  data: {
    pageIndex: number
    pageSize: number
    totalCount: number
    totalPages: number
    data: unknown[]
    hasPrevious: boolean
    hasNext: boolean
  }
  message: string
  success: boolean
}

// 添加角色参数
export interface AddRoleAsyncParams {
  roleName: string
  roleDesc: string
}

// 修改用户参数
export interface UpdateRoleAsyncParams {
  id: number
  roleName: string
  roleDesc: string
  status: number
}

// 启用停用角色参数
export interface UpdateRoleStatusAsyncParams {
  id: number
}

// 批量启用停用角色参数
export interface UpdateRolesStatusAsyncParams {
  id: number[]
}

//获取穿梭数据参数
export interface GetUserRoleInfoAsyncParams {
  roleId: number
}

// 绑定/解绑用户
export interface IsBandUserAsyncParams {
  isBand: number
  roleId: number
  userIds: number[]
}

//获取角色绑定菜单树数据参数
export interface GetUserRoleInfoAsyncParams {
  roleId: number
}

//绑定/解绑菜单
export interface IsBindMenuAsyncParams {
  roleId: number
  menuIds: number[]
}
